﻿namespace IOP.DynimicProxy
{
    /// <summary>
    /// 代理构建者接口
    /// </summary>
    public interface IProxyBuilder<TI>
        where TI : class
    {
        /// <summary>
        /// 构建代理(泛型)
        /// </summary>
        /// <returns></returns>
        T BuildProxy<T>() where T : class, TI;
        /// <summary>
        /// 构建代理
        /// </summary>
        /// <param name="origin"></param>
        /// <returns></returns>
        T BuildProxy<T>(T origin) where T : class, TI;
    }
}
